#include "CCurrency.h"
#include <sysutils.hpp>

#pragma package(smart_init)



CCurrency __fastcall CCurrency::operator /(int Diviseur) const
{
  CCurrency ValRetour(*this);
  if (Diviseur == L_NS)
    throw EDivByZero("Division d'un CCurrency par L_NS impossible.");   
  ValRetour.m_Montant /= Diviseur;
  return ValRetour;
}



CCurrency __fastcall CCurrency::operator /(double Diviseur) const
{
  CCurrency ValRetour(*this);
  if (Diviseur == D_NS)
    throw EDivByZero("Division d'un CCurrency par D_NS impossible.");
  ValRetour.m_Montant /= Diviseur;
  return ValRetour;
}



CCurrency __fastcall CCurrency::operator /(const CCurrency &Diviseur) const
{
  CCurrency ValRetour(*this);
  if (Diviseur.Vide)
    throw EDivByZero("Division d'un CCurrency par un CCurrency vide impossible.");
  ValRetour.m_Montant /= Diviseur.m_Montant;
  return ValRetour;
}



CCurrency & __fastcall CCurrency::operator /=(int Diviseur)
{
  if (Diviseur == L_NS)
    throw EDivByZero("Division d'un CCurrency par L_NS impossible.");
  m_Montant /= Diviseur;
  return *this;
}



CCurrency & __fastcall CCurrency::operator /=(double Diviseur)
{
  if (Diviseur == D_NS)
    throw EDivByZero("Division d'un CCurrency par D_NS impossible.");
  m_Montant /= Diviseur;
  return *this;
}



CCurrency & __fastcall CCurrency::operator /=(const CCurrency &Diviseur)
{
  if (Diviseur.Vide)
    throw EDivByZero("Division d'un CCurrency par un CCurrency vide impossible.");
  m_Montant /= Diviseur.m_Montant;
  return *this;
}



